# define _CRT_SECURE_NO_WARNINGS 1
#include"HugeNumberComputing.hpp"
//
//long long f1(int n) {
//	int i, j;
//	long long S=0, t;
//	for (i = 1; i <= n; i++) {
//		t = 1;
//		for (j = 2; j <= i; j++) {
//			t *= j;
//		}
//		S += t;
//	}
//	return S;
//}

void f1_3(int n) {
	class Hugeint S, t, i, j, hn, singlenum1;
	hn.setInt(n);
	singlenum1.setInt(1);
	for (i.setInt(1); comparehugeint(i, hn) <= 0; i.add(i, singlenum1)) {
		t.setInt(1);
		for (j.setInt(2); comparehugeint(j, i) <= 0; j.add(j, singlenum1)) {
			t.mul(t, j);
		}
		S.add(S, t);
	}
	S.print();
}

int main() {
	
	int n;
	//n = 5;
	scanf("%d", &n);
	f1_3(n);
	return 0;
}
